void DefaultSpreadVar(int weaponid)
{
	if (weaponid == WEAPONLIST_DEAGLE)
		me.spread.spreadvar = 0.9f;
	else if (weaponid == WEAPONLIST_MP5)
		me.spread.spreadvar = 0;
	else if (weaponid == WEAPONLIST_AK47)
		me.spread.spreadvar = 0.200032f;
	else if (weaponid == WEAPONLIST_SG552)
		me.spread.spreadvar = 0.208f;
	else if (weaponid == WEAPONLIST_AUG)
		me.spread.spreadvar = 0.3118f;
	else if (weaponid == WEAPONLIST_M4A1)
		me.spread.spreadvar = 0.200012f;
	else if (weaponid == WEAPONLIST_M249)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_MAC10)
		me.spread.spreadvar = 0.15f;
	else if (weaponid == WEAPONLIST_UMP45)
		me.spread.spreadvar = 0;
	else if (weaponid == WEAPONLIST_TMP)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_P90)
		me.spread.spreadvar = 0.15f;
	else if (weaponid == WEAPONLIST_P228)
		me.spread.spreadvar = 0.9f;
	else if (weaponid == WEAPONLIST_FIVESEVEN)
		me.spread.spreadvar = 0.92f;
	else if (weaponid == WEAPONLIST_ELITE)
		me.spread.spreadvar = 0.88f;
	else if (weaponid == WEAPONLIST_GLOCK18)
		me.spread.spreadvar = 0.9f;
	else if (weaponid == WEAPONLIST_USP)
		me.spread.spreadvar = 0.92f;
	else if (weaponid == WEAPONLIST_G3SG1)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_SG550)
		me.spread.spreadvar = 0.2f;
	else
		me.spread.spreadvar = 0;
}

old spreads

{
	if (weaponid == WEAPONLIST_DEAGLE)
		me.spread.spreadvar = 0.9f;
	else if (weaponid == WEAPONLIST_MP5)
		me.spread.spreadvar = 0;
	else if (weaponid == WEAPONLIST_AK47)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_SG552)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_AUG)
		me.spread.spreadvar = 0.3f;
	else if (weaponid == WEAPONLIST_M4A1)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_M249)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_MAC10)
		me.spread.spreadvar = 0.15f;
	else if (weaponid == WEAPONLIST_UMP45)
		me.spread.spreadvar = 0;
	else if (weaponid == WEAPONLIST_TMP)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_P90)
		me.spread.spreadvar = 0.15f;
	else if (weaponid == WEAPONLIST_P228)
		me.spread.spreadvar = 0.9f;
	else if (weaponid == WEAPONLIST_FIVESEVEN)
		me.spread.spreadvar = 0.92f;
	else if (weaponid == WEAPONLIST_ELITE)
		me.spread.spreadvar = 0.88f;
	else if (weaponid == WEAPONLIST_GLOCK18)
		me.spread.spreadvar = 0.9f;
	else if (weaponid == WEAPONLIST_USP)
		me.spread.spreadvar = 0.92f;
	else if (weaponid == WEAPONLIST_G3SG1)
		me.spread.spreadvar = 0.2f;
	else if (weaponid == WEAPONLIST_SG550)
		me.spread.spreadvar = 0.2f;
	else
		me.spread.spreadvar = 0;
}

else
float GetVecSpread(float speed)
{
	int id;
	float spread;

	id = playerItems.CurrentID();

	switch (id)
	{
		case WEAPONLIST_DEAGLE:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed)
					spread = 0.2495 * (1.0f - me.spread.spreadvar);
				else if (me.spread.prcflags & FL_DUCKING)
					spread = 0.114019 * (1.0f - me.spread.spreadvar);
				else
					spread = 0.12991 * (1.0f - me.spread.spreadvar);
			}
			else
				spread = 1.5 * (1.0f - me.spread.spreadvar);

			break;
		case WEAPONLIST_ELITE:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed)
					spread = 0.175 * (1.0f - me.spread.spreadvar);
				else if (me.spread.prcflags & FL_DUCKING)
					spread = 0.08 * (1.0f - me.spread.spreadvar);
				else
					spread = 0.1 * (1.0f - me.spread.spreadvar);
			}
			else
				spread = 1.3 * (1.0f - me.spread.spreadvar);

			break;
		case WEAPONLIST_FIVESEVEN:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed)
					spread = 0.255 * (1.0f - me.spread.spreadvar);
				else if (me.spread.prcflags & FL_DUCKING)
					spread = 0.075 * (1.0f - me.spread.spreadvar);
				else
					spread = 0.15 * (1.0f - me.spread.spreadvar);
			}
			else
				spread = 1.5 * (1.0f - me.spread.spreadvar);

			break;
		case WEAPONLIST_GLOCK18:
			if (!(me.spread.WeaponState & GLOCK18_BURST))
			{
				if (me.spread.prcflags & FL_ONGROUND)
				{
					if (speed)
						spread = 0.165 * (1.0f - me.spread.spreadvar);
					else if (me.spread.prcflags & FL_DUCKING)
						spread = 0.075 * (1.0f - me.spread.spreadvar);
					else
						spread = 0.1 * (1.0f - me.spread.spreadvar);
				}
				else
					spread = 1.0f - me.spread.spreadvar;
			}
			else
				spread = 0;

			break;
		case WEAPONLIST_P228:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed)
					spread = 0.255 * (1.0f - me.spread.spreadvar);
				else if (me.spread.prcflags & FL_DUCKING)
					spread = 0.075 * (1.0f - me.spread.spreadvar);
				else
					spread = 0.15 * (1.0f - me.spread.spreadvar);
			}
			else
				spread = 1.5 * (1.0f - me.spread.spreadvar);

			break;
		case WEAPONLIST_G3SG1:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed)
					spread = 0.14f;
				else if (me.spread.prcflags & FL_DUCKING)
					spread = 0.035 * (1.0f - me.spread.spreadvar);
				else
					spread = 0.055 * (1.0f - me.spread.spreadvar);
			}
			else
				spread = 0.45 * (1.0f - me.spread.spreadvar);

			if (!(me.iFOV < 90.0f))
				spread += 0.025f;

			break;
		case WEAPONLIST_SG550:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed)
					spread = 0.1497f;
				else if (me.spread.prcflags & FL_DUCKING)
					spread = 0.03995 * (1.0f - me.spread.spreadvar);
				else
					spread = 0.0498 * (1.0f - me.spread.spreadvar);
			}
			else
				spread = 0.44998 * (1.0f - me.spread.spreadvar);

			if (!(me.iFOV < 90.0f))
				spread += 0.025f;

			break;
		case WEAPONLIST_USP:
			if (!(me.spread.WeaponState & USP_SILENCER))
			{
				if (me.spread.prcflags & FL_ONGROUND)
				{
					if (speed)
						spread = 0.225 * (1.0f - me.spread.spreadvar);
					else if (me.spread.prcflags & FL_DUCKING)
						spread = 0.08 * (1.0f - me.spread.spreadvar);
					else
						spread = 0.1 * (1.0f - me.spread.spreadvar);
				}
				else
					spread = 1.2 * (1.0f - me.spread.spreadvar);
			}
			else
			{
				if (me.spread.prcflags & FL_ONGROUND)
				{
					if (speed)
						spread = 0.25 * (1.0f - me.spread.spreadvar);
					else if (me.spread.prcflags & FL_DUCKING)
						spread = 0.125 * (1.0f - me.spread.spreadvar);
					else
						spread = 0.15 * (1.0f - me.spread.spreadvar);
				}
				else
					spread = 1.3 * (1.0f - me.spread.spreadvar);
			}

			break;
		case WEAPONLIST_AK47:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed > 140.0f)
					spread = me.spread.spreadvar * 0.07 + 0.04;
				else
					spread = me.spread.spreadvar * 0.027;
			}
			else
				spread = me.spread.spreadvar * 0.4 + .04;

			break;
		case WEAPONLIST_SG552:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed > 140.0f)
					spread = me.spread.spreadvar * 0.0697 + 0.03496;
				else
					spread = me.spread.spreadvar * 0.02;
			}
			else
				spread = me.spread.spreadvar * 0.3991 + .0347;

			break;
		case WEAPONLIST_AUG:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed > 140.0f)
					spread = me.spread.spreadvar * 0.07 + 0.035;
				else
					spread = me.spread.spreadvar * 0.02;
			}
			else
				spread = me.spread.spreadvar * 0.4 + .035;

			break;
		case WEAPONLIST_M249:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed > 140.0f)
					spread = me.spread.spreadvar * 0.0949 + 0.0448;
				else
					spread = me.spread.spreadvar * 0.03;
			}
			else
				spread = me.spread.spreadvar * 0.5 + .045;

			break;
		case WEAPONLIST_M4A1:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (!(me.spread.WeaponState & M4A1_SILENCER))
				{
					if (speed > 140.0f)
						spread = me.spread.spreadvar * 0.0688 + 0.035027;
					else
						spread = me.spread.spreadvar * 0.02016;
				}
				else
				{
					if (speed > 140.0f)
						spread = me.spread.spreadvar * 0.06884 + 0.0349906;
					else
						spread = me.spread.spreadvar * 0.02499;
				}
			}
			else
				spread = me.spread.spreadvar * 0.39997 + .035003;
			break;
		case WEAPONLIST_MP5:
			if (me.spread.prcflags & FL_ONGROUND)
				spread = 0.04 * me.spread.spreadvar;
			else
				spread = 0.2 * me.spread.spreadvar;

			break;
		case WEAPONLIST_MAC10:
			if (me.spread.prcflags & FL_ONGROUND)
				spread = 0.03 * me.spread.spreadvar;
			else
				spread = 0.375 * me.spread.spreadvar;

			break;
		case WEAPONLIST_P90:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed > 170.0f)
					spread = me.spread.spreadvar * 0.11482;
				else
					spread = me.spread.spreadvar * 0.045;
			}
			else
				spread = me.spread.spreadvar * 0.2997;

			break;
		case WEAPONLIST_TMP:
			if (me.spread.prcflags & FL_ONGROUND)
				spread = 0.03 * me.spread.spreadvar;
			else
				spread = 0.25 * me.spread.spreadvar;

			break;
		case WEAPONLIST_UMP45:
			if (me.spread.prcflags & FL_ONGROUND)
				spread = 0.0397 * me.spread.spreadvar;
			else
				spread = 0.23981 * me.spread.spreadvar;

			break;
		case WEAPONLIST_AWP:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed < 10.0f)
				{
					if (me.spread.prcflags & FL_DUCKING)
						spread = 0;
					else
						spread = 0.0001f;
				}
				else if (speed < 140.0f)
				{
					spread = 0.10015f;
				}
				else
					spread = 0.2499f;
			}
			else
				spread = 0.851f;

			if (!(me.iFOV < 90.0f))
				spread += 0.08f;

			break;
		case WEAPONLIST_SCOUT:
			if (me.spread.prcflags & FL_ONGROUND)
			{
				if (speed < 170.0f)
				{
					if (me.spread.prcflags & FL_DUCKING)
						spread = 0;
					else
						spread = 0.0067f;
				}
				else
					spread = 0.07506f;
			}
			else
				spread = 0.19992f;

			if (!(me.iFOV < 90.0f))
				spread += 0.025f;

			break;
		default:
			spread = 0;
			break;
	}

	return spread;
}